const ADJECTIVES: string[] = [
  "adaptable",
  "adventurous",
  "affectionate",
  "agreeable",
  "ambitious",
  "amiable",
  "amusing",
  "ardent",
  "attentive",
  "audacious",
  "awesome",
  "brave",
  "bright",
  "brilliant",
  "calm",
  "careful",
  "charming",
  "cheerful",
  "clever",
  "convivial",
  "courageous",
  "courteous",
  "creative",
  "curious",
  "daring",
  "delightful",
  "determined",
  "diligent",
  "dynamic",
  "eager",
  "easygoing",
  "efficient",
  "energetic",
  "enthusiastic",
  "epic",
  "excellent",
  "exceptional",
  "extraordinary",
  "fabulous",
  "fair",
  "faithful",
  "fantastic",
  "fearless",
  "friendly",
  "funny",
  "generous",
  "gentle",
  "genuine",
  "gifted",
  "glad",
  "goodhearted",
  "graceful",
  "gracious",
  "happy",
  "harmonious",
  "helpful",
  "honest",
  "hopeful",
  "humorous",
  "imaginative",
  "ingenious",
  "innovative",
  "inspiring",
  "intelligent",
  "interesting",
  "joyful",
  "jovial",
  "keen",
  "kind",
  "lively",
  "lovely",
  "loving",
  "loyal",
  "lucky",
  "magnificent",
  "mindful",
  "modest",
  "motivated",
  "noble",
  "optimistic",
  "passionate",
  "patient",
  "peaceful",
  "pleasant",
  "playful",
  "polite",
  "positive",
  "powerful",
  "practical",
  "precious",
  "prestigious",
  "proactive",
  "productive",
  "prominent",
  "proud",
  "witty",
  "radiant",
  "reliable",
  "resilient",
  "resourceful",
];

const ANIMALS: string[] = [
  "aardvark",
  "albatross",
  "alligator",
  "alpaca",
  "anteater",
  "antelope",
  "armadillo",
  "baboon",
  "badger",
  "bat",
  "bear",
  "beaver",
  "bison",
  "boar",
  "buffalo",
  "butterfly",
  "camel",
  "capybara",
  "caribou",
  "cat",
  "caterpillar",
  "cheetah",
  "chicken",
  "chimpanzee",
  "chinchilla",
  "cicada",
  "cobra",
  "cockatoo",
  "cricket",
  "crocodile",
  "crow",
  "deer",
  "dingo",
  "dog",
  "dolphin",
  "donkey",
  "dove",
  "dragonfly",
  "duck",
  "eagle",
  "earthworm",
  "eel",
  "elephant",
  "elk",
  "emu",
  "falcon",
  "ferret",
  "finch",
  "flamingo",
  "fox",
  "frog",
  "gazelle",
  "gerbil",
  "giraffe",
  "goat",
  "goose",
  "gorilla",
  "grasshopper",
  "hamster",
  "hare",
  "hawk",
  "hedgehog",
  "heron",
  "hippo",
  "horse",
  "hummingbird",
  "hyena",
  "ibex",
  "iguana",
  "impala",
  "jaguar",
  "jellyfish",
  "kangaroo",
  "koala",
  "krill",
  "lemur",
  "leopard",
  "lion",
  "lizard",
  "llama",
  "lobster",
  "lynx",
  "meerkat",
  "mink",
  "mole",
  "mongoose",
  "monkey",
  "moose",
  "mosquito",
  "mouse",
  "narwhal",
  "newt",
  "octopus",
  "okapi",
  "opossum",
  "orangutan",
  "ostrich",
  "otter",
  "owl",
  "ox",
];

/**
 * Generates a random name based on the provided configuration.
 */
export function generateName(): string {
  const separator = "-";
  const adjectiveIndex = Math.floor(Math.random() * ADJECTIVES.length);
  const animalIndex = Math.floor(Math.random() * ANIMALS.length);

  return `${ADJECTIVES[adjectiveIndex]}${separator}${ANIMALS[animalIndex]}`.toLowerCase();
}
